package cn.maszy.service.impl.systemsetting;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.maszy.common.DateUtils;
import cn.maszy.common.Pager;
import cn.maszy.common.SessionFactory;
import cn.maszy.dao.systemsetting.C_T_Sys_ModuleMapper;
import cn.maszy.model.systemsetting.C_T_Sys_Module;
import cn.maszy.model.systemsetting.C_T_Sys_ModuleExample;
import cn.maszy.model.systemsetting.C_T_Sys_ModuleExample.Criteria;
import cn.maszy.service.systemsetting.C_T_Sys_ModuleService;
@Service
public class C_T_Sys_ModuleServiceImpl implements C_T_Sys_ModuleService {
@Autowired
private C_T_Sys_ModuleMapper c_T_Sys_ModuleMapper;
/* (non-Javadoc)
 * @see cn.maszy.service.investment.C_T_Sys_ModuleService#update(cn.maszy.model.investment.C_T_Sys_Module, cn.maszy.model.investment.C_T_Sys_ModuleExample)
 */
public int update(C_T_Sys_Module c_T_Sys_Module) {
	// TODO Auto-generated method stub
	 if(c_T_Sys_Module.getModuleuuid()==null||"".equals(c_T_Sys_Module.getModuleuuid())){
		 c_T_Sys_Module.setModuleuuid(UUID.randomUUID().toString());
		 c_T_Sys_Module.setIsDelete(0);
		 c_T_Sys_Module.setCreateTime(new Date());
		 c_T_Sys_Module.setCreateUser(SessionFactory.getSessionUserRealNam());
		 return c_T_Sys_ModuleMapper.insert(c_T_Sys_Module);
	 }else{
		 c_T_Sys_Module.setUpdateTime(new Date());
		 c_T_Sys_Module.setUpdateUser(SessionFactory.getSessionUserRealNam());
		 return c_T_Sys_ModuleMapper.updateByPrimaryKeySelective(c_T_Sys_Module);
	 }
}

/* (non-Javadoc)
 * @see cn.maszy.service.investment.C_T_Sys_ModuleService#selectOne(java.lang.String)
 */
public C_T_Sys_Module selectOne(String adminid) {
	// TODO Auto-generated method stub
	C_T_Sys_Module record=c_T_Sys_ModuleMapper.selectByPrimaryKey(adminid);
	return record;
}

/* (non-Javadoc)
 * @see cn.maszy.service.investment.C_T_Sys_ModuleService#delete(java.lang.String)
 */
public int delete(String checkIds) {
	// TODO Auto-generated method stub
	for (String id : checkIds.split(", ")) {
		c_T_Sys_ModuleMapper.deleteByPrimaryKey(id);
	}
	return 1;
}

/* (non-Javadoc)
 * @see cn.maszy.service.investment.C_T_Sys_ModuleService#count(cn.maszy.model.investment.C_T_Sys_ModuleExample)
 */
public int count(C_T_Sys_ModuleExample example,C_T_Sys_ModuleMapper c_T_Sys_ModuleMapper) {
	// TODO Auto-generated method stub
	return c_T_Sys_ModuleMapper.countByExample(example);
}

/* (non-Javadoc)
 * @see cn.maszy.service.investment.C_T_Sys_ModuleService#selectList(cn.maszy.model.investment.C_T_Sys_Module)
 */
public Pager<C_T_Sys_Module> selectList(C_T_Sys_Module c_T_Sys_Module,Pager<C_T_Sys_Module> pager) {
	// TODO Auto-generated method stub
	// 添加查询条件
	C_T_Sys_ModuleExample example=new C_T_Sys_ModuleExample();
	Criteria criteria = example.createCriteria();
	if(c_T_Sys_Module!=null){
		if(c_T_Sys_Module.getModulename()!=null&&!"".equals(c_T_Sys_Module.getModulename())){
			criteria.andModulenameLike("%"+c_T_Sys_Module.getModulename()+"%");
		}
	}else{
		criteria.andModuleuuidIsNotNull();
	}
	example.or(criteria);
	int totalCount=new C_T_Sys_ModuleServiceImpl().count(example,c_T_Sys_ModuleMapper);
	pager.setTotalRecords(totalCount);
	example.setLimitStart(pager.getStartRecord());
	example.setLimitEnd(pager.getPageSize());
	example.setOrderByClause(pager.getOrderField()+" "+pager.getOrderDirection());
	
	// 取得总的记录条数
	List<C_T_Sys_Module>  list=c_T_Sys_ModuleMapper.selectByExample(example);
	pager.setPageRecords(list);
	return pager;
}
}
